Some years ago I was enjoying my sleep during the weekend when a loud airplane flew over our house and rudely awakened me at 5:00 in the morning. I couldn’t get back to sleep and decided to use these precious early hours to visualize the air traffic around Hilversum. Turns out every plane is equipped with a device called a transponder [https://en.wikipedia.org/wiki/Transponder] that transmits flight data about the flight into the air. Organizations like OpenSky [https://opensky-network.org/] aggregate these data and make them available. In the end the below was the result

nog doen: make sure it shows the additional info about the flight, iets met inline html. en

But when revisiting this project, I felt there were more opportunities with the data. So I obtained the air traffic above the Netherlands from February to April (monday's only), resulting in 11 full days of traffic equaling 3.5 million datapoints (each aircraft is registered every 10 seconds. Below is a first visualisation.

You can clearly see that Amsterdam is the hotspot of all the traffic and there are many different things going on. In the remainder of the post, let's see what interesting patterns and visualisations we can make. I won't plot the map anymore because the graphs are rendered more nice, so be sure to remember where Amsterdam is!

Let's first split the traffic by altitude

Start or landing

Departure or arrival

Above 7000 meters

  • In Red it's possible to see airfield Groningen and Eindhoven, and bottom right Dusseldorf and bottom center Brussels.
  • In Blue it's nice to see all the complex movements to fly the traffic in and out of Amsterdam. These are the STAR and SIDs, standard routes being flown to keep the traffic manageable. We can also make a distinction in flight level
  • And Green is just aircraft passing over.

There are more properties in the data, such as altitude, vertical speed and velocity. These graphs look at the mean of these properaties and thus don't give information about the amount of flights. I've used different colormaps for aestetic purposes :)

Mean vertical rate (red=descending, blue=ascending)

Mean altitude (darker = lower flying aircraft)

Mean altitude per 1000 meters (red-->orange-->yellow-->green-->blue-->pink)

Mean velocity (darker = slower flying aircraft)

  • Top left all the arriving flights are in red and departures in blue. Here you can find charts for Dutch routes. E.g flights to runways 18R and 18C are flying over the North Sea or from Lelystad
  • Top right basically shows that closer to an airport aircraft are flying lower. To be expected. Next!
  • Bottom left looks like a full disco, but compare it with the top left graph: Departing flights are quickly climbing to purple, whereas arriving flights are descending more slowly. Probably at the red and orange colors the noise pollution is the largest.
  • Bottom right shows the average speed of the aircraft. The line going south could be flights from Amsterdam to Brussels?

And because COVID-19 is here, let's plot the data of the past weeks.

2020-03-09

2020-03-16

2020-03-23

2020-03-30

2020-04-06

2020-04-13

The graph also shows the dramatic slowdown to about 1/8 of the original volume. This has been analyzed more extensively here.

Daily 2700 flights above the Netherlands (including some North Sea), that is a lot! Taking the time in Dutch airspace into account that is the equivalent of about 35 aircraft 24/7 in the air!

The fierce fire on the left is slowly dimming to a collection of night flies: the slowdown of traffic can be easily seen.

I also went through callsigns that occur most often. Turns out there are many interesting aircraft to be found. Let's make it into a quiz: which pattern belongs to:

  • Coastguard
  • Aerial photography
  • Military
  • Emergency care flights
  • Police helicopters
  • Commercial helicopter flights

Answers on the bottom

A

B

C

D

E

F

Let's end with a colorization with a certain shade of blue. Left a subset of the most frequently flown locations, right every fligt. Can you guess what type of flights they represent?







That's it, hope you liked it.

Answers to the above:

  • A = Police helicopters. Interesting patterns! To the east the German police helicopter (callsign HUMMEL)
  • B = Aerial photography. To do their job, these flights often have dense tracks
  • C = Emergency medical flights. With callsign LIFELN (lifeliner), these helicopters are stationed in Amsterdam, Groningen, Rotterdam and Eindhoven.
  • D = Commercial helicopter flights. They mostly start from airfied Den Helder, flying personell to offshore rigs
  • E = Coast Guard, with callsign NCG
  • F = Military. In april a NATO flight departed from NATO Air Base Geilenkirchen with a Boeing E-3 Sentry

Thanks to OpenSky, Datashader and some wonderful tutorials on the internet, e.g. US Census and PyViz. Used code from these examples as well.

Here you can find my other posts